package org.monkey.gateway.route.config;

import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class BeanConfig {

  @Bean
  public RouteLocator myRoutes(RouteLocatorBuilder builder) {
    return builder
        .routes()
        .route(
            p ->
                p.path("/get")
                    .filters(f -> f.addRequestHeader("hello", "world"))
                    .uri("http://httpbin.org:80"))
        .route(
            p ->
                p.host("*.hystrix.com")
                    .filters(
                        f ->
                            f.hystrix(
                                config ->
                                    config
                                        .setName("mycmd")
                                        .setFallbackUri("forward:/index/fallback")))
                    .uri("http://httpbin.org:80"))
        .build();
  }
}
